package com.missilike.biz;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.missilike.biz.impl.MilContentAppreciateServiceImpl;
import com.missilike.core.domain.ContentRequest;
import com.missilike.core.domain.DeleteContentReuquest;
import com.missilike.core.result.CommonResult;
import com.missilike.domain.request.MilAccountContentStatusForm;
import com.missilike.domain.response.MilUserFeeds;
import com.missilike.repository.entity.MilAccountContent;
import com.missilike.repository.entity.extend.MilContentExtend;

import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author pengpengli
 * @since 2018-12-19
 */
public interface IMilAccountContentService extends IService<MilAccountContent> {

    void setCollectionService(IMilContentCollectionService collectionService);

    void setAccountService(IMilAccountService accountService);

    IPage<MilAccountContent> getList(Page<MilAccountContent> page);

    void  status(MilAccountContentStatusForm milAccountContentStatusForm);



    boolean deleteContent(DeleteContentReuquest reuquest);

    void setAppreciateService(MilContentAppreciateServiceImpl milContentAppreciateService);

    void setContentTransmitService(IMilContentTransmitService milContentTransmitService);

    CommonResult sendContent(ContentRequest request);

    List<MilUserFeeds> getUserFeeds(String id, Long lastId, Integer pageSize, Integer type);

    List<MilUserFeeds> getFeeds(String id, Long lastId, Integer pageSize, Integer type);


    void setEquipmentService(IMilEquipmentService iMilEquipmentService);


    MilContentExtend getContent(MilAccountContent content);

    MilUserFeeds getUserFeedsById(Long id,String currentAccountId);


    Integer getAccountContentCount(String accountId);

    List<MilUserFeeds> getFollowUsersFeeds(String id, Long lastId, Integer pageSize, Integer type);
}
